#ifndef IMAGELABELOUTPUTFILTER_H
#define IMAGELABELOUTPUTFILTER_H

#include <QWidget>
#include <QImage>
#include "Filter.h"
#include <QMutex>

class ImageLabelOutputFilter :
	public QWidget,
	public Filter
{
	Q_OBJECT

public:
	enum Inputs { INPUT_RGB_MAP = 0 };

	ImageLabelOutputFilter(QWidget *parent = nullptr);
	~ImageLabelOutputFilter();

	virtual void Process();
	virtual void ProcessInvalid();
	virtual void paintEvent(QPaintEvent *event);
	virtual void closeEvent(QCloseEvent *evt);

	virtual QWidget *GetOutputWidget();

signals:
	void done();
	void closeWindow();

private:
	QImage image;
	QSize imageSize;

	QMutex imageMutex;	
};

#endif // IMAGELABELOUTPUTFILTER_H
